package drds.global_transaction.api.rpc.rpc_client;

import java.util.concurrent.TimeoutException;

public interface MessageSend
{

	Object asynchronousSendRequestWithTimeoutGetResponse(Object message) throws TimeoutException;

	Object asynchronousSendRequestWithTimeoutGetResponse(Object message, long timeout) throws TimeoutException;

	Object asynchronousSendRequestWithTimeoutGetResponse(String serverAddress, Object message, long timeout) throws TimeoutException;

	//
	void synchronousSendResponse(String serverAddress, long messageId, Object message);

}
